iT邦幫忙

0

Unity自學遊戲製作 Your First Game學習day1

  • 分享至 

  • xImage
  •  

素材取用以及製作地形:
1.圖片中unit多少代表一個網格包含了多少像素,因此unit越小圖片會呈現的越大(這裡跟著教學設置了16)
2.在hierarchy點擊右鍵尋找2D object->Tilemap->rectangular來建立地形物件
3.在上方windows中選擇2D再選tile palette,新建一個map資料夾,接下來找到地形圖片,點右邊的sprite editor來切割連在一起的圖片,在slice中pixel size設置成自己圖片中unit的大小切割就完成了。
4.拖曳圖片到 tile palette的map裡,使用筆刷工具就可以選擇需要的圖片填入Scene裡進行繪製
圖層概念以及角色建立
1.在main camera中可以調整size去改變自己看到遊戲畫面的遠近
2.在圖片中找到Sortinglayer去把圖層進行排序,越下面則顯示的排序越前面,而設置在同一層的圖片可以用order in layer去排序,數字越大越前面
3.在hierarchy右鍵新建2D sprite,把人物圖片放進去Sprite中,Player就建立完成了(更改檔案名稱)
4.在Player(人物)中找到add component加入rigibody2D給予物理屬性(重力),加入box collider2D給予碰撞系統(可以站在地形上)並點edit collider調整適合人物大小的碰撞範圍,地形則點tile map用tilemap的collider給予全部的地形碰撞系統
角色移动
在下面的assets建立c#的空白腳本命名為Playercontroller,拖曳到Player裡面
https://ithelp.ithome.com.tw/upload/images/20230605/20160670XWm8j2fudm.png
程式碼的第7行:取得unity裡的rigibody,使用這個變數最後結果會傳回unity
第8行:聲明一個變量為speed(float範圍較小比較不耗能),speed的數字可在unity裡調整
第20行:建立一個讓角色移動的函數
第22.23行:使用Getaxis指令得到變量(Horizontal是橫向移動,0以上向右走,0以下向左走,0是沒有移動)
第24.26行:如果變量不為0,則X軸=變量乘以speed,y軸還是保持=rb.velocity.y(2D的移動都是用vector2,velocity作用是會給物體一個向量值,值就代表物體當下的速度)
最後在Player的rigibody把freeze rotation z軸打勾,把z軸穩定角色就不會旋轉
目前進度:角色可以站在地形上並且移動

Yes


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言